Skip to main content

Deposits

1. Description

Deposits cashflow type generates cashflows for each record based on the mapping provided for deposit_amount, interest_rate, maturity_date, intesrest_calculation_type, compounding_frequency, interest_payment_frequency, interest_basis, deposit_date, compounded_amount, tds_rate, accrued_interest_amount, last_compounded_date, is_adjustemnt_required.

2. Screen Configuration

deposit_cf_image

Click ⬇️ to download the test-bed.

3. Cashflow Derivation Logic

Case 1: When the 'intesrest_calculation_type' is S and 'interest_payment_frequency' is B, which means interest calculation type is Simple and Payout is at Maturity Date and deposit date is mapped.

ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE
ACC1001|100000.00|8.00|31-12-2026|S|N|B|ActualBy365|31-03-2024


A single cashflow will get generated as the interest_payment_frequency is 'B',

number of days between account open date and maturity date = 1005
so, interest amount = (deposit_amount * interest_rate * (number of days between account open date and maturity date)) / 100 * number of days in a year

interest amount = 22027.40
principal_amount = 100000.00
cashflow_date = 31-12-2026


Case 2: When the 'interest_calculation_type' is S and 'interest_payment_frequency' is B, which means interest calculation type is Simple and Payout is at Maturity Date and deposit date is not mapped.

let AsOnDate be 31-01-2024

ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS
ACC1001|100000.00|8.00|31-12-2026|S|N|B|ActualBy365

A single cashflow will get generated as the interest_payment_frequency is 'B',

number of days between as on date and maturity date = 1065
so, interest amount = (deposit_amount * interest_rate * (number of days between account open date and maturity date)) / 100 * number of days in a year

interest amount = 23342.47
principal_amount = 100000.00
cashflow_date = 31-12-2026

Case 3: When interest_calculation_type is 'S' and interest_payment_frequency is provided, if interest_payment_frequency is M, the frequency is monthly, if it is 'Q', the frequency is quarterly, if it is 'H' the frequency is half-yearly or if it is 'Y', the frequency is yearly.

let say the interest_payment_frequency is H

ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE
ACC1001|100,000.00|8.00|12/31/2026|S|N|H|ActualBy365|3/31/2024

Multiple cashflows will be generated, it will start from deposit date + frequency and will be generated till maturity date, deposit amount will be stamped at maturity date and rest all cashflows will have zero principal amount.


the first cashflow will start from deposit_date + frequency
so here it will be 31-03-2024 + 6 Months = 30/09/2024


for calculation of first interest amount = (deposit_amount * interest_rate * (number of days between deposit date and first cashflow date)) / 100 * number of days in a year

calculation of interest amount from second cashflow onwards will maturity date

interest amount = (deposit_amount * interest_rate * (number of days between previous cashflow date and current cashflow date)) / 100 * number of days in a year

final cashflows generated,
Principal amount = 0, Interest amount = 4,010.96, Cashflow date = 9/30/2024
Principal amount = 0, Interest amount = 3,989.04, Cashflow date = 3/31/2025
Principal amount = 0, Interest amount = 4,010.96, Cashflow date = 9/30/2025
Principal amount = 100,000.00, Interest amount = 3,989.04, Cashflow date = 3/31/2026

Case 4: When `interest_calculation_type` is 'S', `interest_payment_frequency` is 'H', and `accrued_interest_amount` is present:

ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE|ACCRUED_INT_AMOUNT|AS_ON_DATE
ACC1001|100,000.00|8.00|12/31/2026|S|N|H|ActualBy365|3/31/2024|1,775.34|1/31/2024

Multiple cashflows will be generated, it will start from deposit date + frequency and will be generated till maturity date, deposit amount will be stamped at maturity date and rest all cashflows will have zero principal amount.


the first cashflow will start from deposit_date + frequency
so here it will be 31-03-2024 + 6 Months = 30/09/2024


for calculation of first interest amount = accrued interest amount + (deposit_amount * interest_rate * (number of days between deposit date and first cashflow date)) / 100 * number of days in a year

calculation of interest amount from second cashflow onwards will maturity date

interest amount = (deposit_amount * interest_rate * (number of days between previous cashflow date and current cashflow date)) / 100 * number of days in a year

final cashflows generated,
Principal amount = 0, Interest amount = 7,101.37, Cashflow date = 9/30/2024
Principal amount = 0, Interest amount = 3,989.04, Cashflow date = 3/31/2025
Principal amount = 0, Interest amount = 4,010.96, Cashflow date = 9/30/2025
Principal amount = 100,000.00, Interest amount = 3,989.04, Cashflow date = 3/31/2026


Case 5: When `interest_calculation_type` is 'C', `interest_payment_frequency` is 'B', and `compounding_frequency` is 'Q':

ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE
ACC1001|300,000.00|5.00|6/30/2026|C|Q|B|ActualBy365|6/30/2024

intermediate data: the interest will be compounded at each compounding frequency.

Interest amount = 3,780.82, Outstanding amount = 300,000.00, Date = 9/30/2024
Interest amount = 3,828.47, Outstanding amount = 303,780.82, Date = 12/31/2024
Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,881.86, Outstanding amount = 311,401.74, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026

now since the interest_payment_frequency is 'B',

a single cashflow will be generated where

principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026

Case 6: When `interest_calculation_type` is 'C', `interest_payment_frequency` is 'Q', and last compounded date is given

ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE|COMPOUNDED_AMOUNT|AS_ON_DATE|LAST_COMPOUNDED_DATE
ACC1001|300,000.00|5.00|6/30/2026|C|Q|B|ActualBy365|6/30/2024|7,609.29|3/15/2025|12/31/2024

The compunding interest calculation will take last compounded date as start date instead of deposit start date

Intermediate data:

Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,881.86, Outstanding amount = 311,401.73, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026


a single cashflow will be generated where

principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026


Case 7: When `interest_calculation_type` is 'C', `interest_payment_frequency` is 'Q', and last compounded amount is given

in this scenario we have two cases,

ACCOUNT_ID|DEPOSIT_AMOUNT|INTEREST_RATE|MATURITY_DATE|INTEREST_CALCULATION_TYPE|COMPOUNDING_FREQUENCY|INTEREST_PAYMENT_FREQUENCY|INTEREST_BASIS|DEPOSIT_DATE|COMPOUNDED_AMOUNT|AS_ON_DATE
ACC1001|300,000.00|5.00|6/30/2026|C|Q|B|ActualBy365|6/30/2024|7,609.29|3/15/2025

1. Increasing deposit date to find the last compounded date
Increase the deposit date with the frequency and check when the interest amount calculated is equal to compounded amount.

so from deposit date i.e. 30-06-2024,
increment it with frequency i.e. 3,
and calculate interest amount and check with compounded amount if equal, then consider the start date as last compounded date,

so total interest will be summed for the compounding dates after the last cashflow date

Intermediate data:

Interest amount = 3,881.86, Outstanding amount = 311,401.73, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026

a single cashflow will be generated where

principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026

2. Decreasing maturity date to find the last compounded date
DEcrease the deposit date with the frequency and check when the interest amount calculated is equal to compounded amount.

so from deposit date i.e. 30-06-2026,
decrement it with frequency i.e. 3,
and calculate interest amount and check with compounded amount if equal, then consider the start date as last compounded date,

so total interest will be summed for the compounding dates after the last cashflow date

Intermediate data:

Interest amount = 3,881.86, Outstanding amount = 311,401.73, Date = 6/30/2025
Interest amount = 3,973.44, Outstanding amount = 315,283.59, Date = 9/30/2025
Interest amount = 4,023.51, Outstanding amount = 319,257.03, Date = 12/31/2025
Interest amount = 3,792.44, Outstanding amount = 307,609.29, Date = 3/31/2025
Interest amount = 3,985.65, Outstanding amount = 323,280.54, Date = 3/31/2026
Interest amount = 4,079.62, Outstanding amount = 327,266.19, Date = 6/30/2026

a single cashflow will be generated where

principal amount = 300,000.00
interest amount = sum of all intermediately generated interest amounts = 31,345.81
cashflow date = 6/30/2026




4. Required Fields

#ParametersDescriptionIs_Mandatory_Field
1account_idUnique identifier associated with the account.YES
2deposit_amountInitial amount deposited into the account.YES
3interest_rateAnnual rate at which interest accrues on the deposit amount.YES
4maturity_dateDate when the deposit reaches its maturity and is due for withdrawal.YES
5interest_calculation_typeMethod used to calculate interest (e.g., Simple or Compound).YES
6compounding_frequencyFrequency at which interest is compounded (e.g., Quarterly or None).NO
7interest_payment_frequencyFrequency at which interest is paid out (e.g., at Maturity or Half-yearly).YES
8interest_basisBasis on which interest is calculated (e.g., Actual/365 or Actual/360).YES
9deposit_dateDate when the initial deposit was made into the account.YES
10accrued_interest_amountOptional field indicating the total amount of interest accrued but not yet paid out.NO
11last_compounded_dateOptional date when interest was last compounded.NO
12compounded_amountOptional amount after the last compounding event.NO
13tds_rateNO

5. Working Excel

Click ⬇️ to download the excel calculation.